package frsf.cidisi.exercise.tpidemia.entidades;

import static frsf.cidisi.exercise.tpidemia.search.ArqueologoEstadoEntorno.moneda;
import static frsf.cidisi.exercise.tpidemia.search.ArqueologoEstadoEntorno.rubi;
import java.util.ArrayList;

public class Aldea {
	private String nombre;
	private Cofre cofre;
        
        public static TipoTesoro moneda = new TipoTesoro("Moneda",100,0.1);
        public static TipoTesoro rubi = new TipoTesoro("Rubi",50,0.02);
        public static TipoTesoro anillo = new TipoTesoro("Anillo",30,0.045);
        public static TipoTesoro diamante = new TipoTesoro("Diamante",90,0.07);
        public static TipoTesoro colgante = new TipoTesoro("Colgante",15,0.02);
	
	public Boolean Eq(Aldea a, Aldea b){
		if(a.nombre==b.nombre){
			return true;
		}
		return false;
	}
	
	public void AgregarCofre(Cofre c){
		this.cofre = c;
	}
	public void QuitarCofre(Cofre c){
		this.cofre = null;
	}
	
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public Cofre getCofre() {
            
            if(this.nombre=="aragaey"){
                Cofre cAragaey = new Cofre();
                Pair p1 = new Pair(moneda,100);
                Pair p2 = new Pair(rubi,20);
                Pair p3 = new Pair(anillo,80);
                Pair p4 = new Pair(diamante,300);
                Pair p5 = new Pair(colgante,550);
                cAragaey.AgregarTesoro(p1);
                cAragaey.AgregarTesoro(p2);
                cAragaey.AgregarTesoro(p3);
                cAragaey.AgregarTesoro(p4);
                cAragaey.AgregarTesoro(p5);
                cAragaey.CalcularTesoro();
                return cAragaey;
            }
            else if(this.nombre=="ergintone"){
                    
                Cofre cErgintone = new Cofre();                
                Pair p1 = new Pair(moneda,300);
                Pair p2 = new Pair(rubi,400);
                Pair p3 = new Pair(anillo,280);
                Pair p4 = new Pair(diamante,80);
                Pair p5 = new Pair(colgante,150);
                cErgintone.AgregarTesoro(p1);
                cErgintone.AgregarTesoro(p2);
                cErgintone.AgregarTesoro(p3);
                cErgintone.AgregarTesoro(p4);
                cErgintone.AgregarTesoro(p5);
                cErgintone.CalcularTesoro();
                return cErgintone;
            }
            else if(this.nombre=="bresol"){
                Cofre cBresol = new Cofre();
                Pair p1 = new Pair(moneda,80);
                Pair p2 = new Pair(rubi,80);
                Pair p3 = new Pair(anillo,70);
                Pair p4 = new Pair(diamante,20);
                Pair p5 = new Pair(colgante,200);
                cBresol.AgregarTesoro(p1);
                cBresol.AgregarTesoro(p2);
                cBresol.AgregarTesoro(p3);
                cBresol.AgregarTesoro(p4);
                cBresol.AgregarTesoro(p5);
                cBresol.CalcularTesoro();
                return cBresol;
            }
            else if(this.nombre=="peregaey"){
                Cofre cPeregaey = new Cofre();
                Pair p1 = new Pair(moneda,100);
                Pair p2 = new Pair(rubi,400);
                Pair p3 = new Pair(anillo,500);
                Pair p4 = new Pair(diamante,450);
                Pair p5 = new Pair(colgante,500);
                cPeregaey.AgregarTesoro(p1);
                cPeregaey.AgregarTesoro(p2);
                cPeregaey.AgregarTesoro(p3);
                cPeregaey.AgregarTesoro(p4);
                cPeregaey.AgregarTesoro(p5);
                cPeregaey.CalcularTesoro();
                return cPeregaey;
             }
            else if(this.nombre=="bulovoe"){
                Cofre cBulovoe = new Cofre();
                Pair p1 = new Pair(moneda,250);
                Pair p2 = new Pair(rubi,120);
                Pair p3 = new Pair(anillo,20);
                Pair p4 = new Pair(diamante,150);
                Pair p5 = new Pair(colgante,300);
                cBulovoe.AgregarTesoro(p1);
                cBulovoe.AgregarTesoro(p2);
                cBulovoe.AgregarTesoro(p3);
                cBulovoe.AgregarTesoro(p4);
                cBulovoe.AgregarTesoro(p5);
                cBulovoe.CalcularTesoro();
                return cBulovoe;
            }
            else if(this.nombre=="icaedur"){
                Cofre cIcaedur = new Cofre();
                Pair p1 = new Pair(moneda,400);
                Pair p2 = new Pair(rubi,200);
                Pair p3 = new Pair(anillo,300);
                Pair p4 = new Pair(diamante,400);
                Pair p5 = new Pair(colgante,250);
                cIcaedur.AgregarTesoro(p1);
                cIcaedur.AgregarTesoro(p2);
                cIcaedur.AgregarTesoro(p3);
                cIcaedur.AgregarTesoro(p4);
                cIcaedur.AgregarTesoro(p5); 
                cIcaedur.CalcularTesoro();
                return cIcaedur;
            }
            else if(this.nombre=="vinizaile"){
                Cofre cVinizaile = new Cofre();
                Pair p1 = new Pair(moneda,50);
                Pair p2 = new Pair(rubi,150);
                Pair p3 = new Pair(anillo,200);
                Pair p4 = new Pair(diamante,50);
                Pair p5 = new Pair(colgante,150);
                cVinizaile.AgregarTesoro(p1);
                cVinizaile.AgregarTesoro(p2);
                cVinizaile.AgregarTesoro(p3);
                cVinizaile.AgregarTesoro(p4);
                cVinizaile.AgregarTesoro(p5);
                cVinizaile.CalcularTesoro();
                return cVinizaile;
            }
            else if(this.nombre=="cabe"){
                Cofre cCabe = new Cofre();
                Pair p1 = new Pair(moneda,160);
                Pair p2 = new Pair(rubi,250);
                Pair p3 = new Pair(anillo,170);
                Pair p4 = new Pair(diamante,60);
                Pair p5 = new Pair(colgante,120);
                cCabe.AgregarTesoro(p1);
                cCabe.AgregarTesoro(p2);
                cCabe.AgregarTesoro(p3);
                cCabe.AgregarTesoro(p4);
                cCabe.AgregarTesoro(p5);
                cCabe.CalcularTesoro();
                return cCabe;
            }
            else if(this.nombre=="mixocu"){
                Cofre cMixocu = new Cofre();
                Pair p1 = new Pair(moneda,350);
                Pair p2 = new Pair(rubi,350);
                Pair p3 = new Pair(anillo,240);
                Pair p4 = new Pair(diamante,150);
                Pair p5 = new Pair(colgante,350);
                cMixocu.AgregarTesoro(p1);
                cMixocu.AgregarTesoro(p2);
                cMixocu.AgregarTesoro(p3);
                cMixocu.AgregarTesoro(p4);
                cMixocu.AgregarTesoro(p5);
                cMixocu.CalcularTesoro();
                return cMixocu;
            }
            else if(this.nombre=="ase"){
                Cofre cAse = new Cofre();
                Pair p1 = new Pair(moneda,20);
                Pair p2 = new Pair(rubi,50);
                Pair p3 = new Pair(anillo,70);
                Pair p4 = new Pair(diamante,100);
                Pair p5 = new Pair(colgante,60);
                cAse.AgregarTesoro(p1);
                cAse.AgregarTesoro(p2);
                cAse.AgregarTesoro(p3);
                cAse.AgregarTesoro(p4);
                cAse.AgregarTesoro(p5);
                cAse.CalcularTesoro();
                return cAse;
            }
            else if(this.nombre=="cenede"){
                Cofre cCenede = new Cofre();
                Pair p1 = new Pair(moneda,160);
                Pair p2 = new Pair(rubi,250);
                Pair p3 = new Pair(anillo,170);
                Pair p4 = new Pair(diamante,60);
                Pair p5 = new Pair(colgante,120);
                cCenede.AgregarTesoro(p1);
                cCenede.AgregarTesoro(p2);
                cCenede.AgregarTesoro(p3);
                cCenede.AgregarTesoro(p4);
                cCenede.AgregarTesoro(p5);
                cCenede.CalcularTesoro();
                return cCenede;
            }
            return null;
	}
	public void setCofre(Cofre cofre) {
		this.cofre = cofre;
	}
        
        public ArrayList<Aldea> getAdyacentes(){
            ArrayList<Aldea> ady =new ArrayList<Aldea>();
            if(this.nombre=="aragaey"){
                Aldea ergintone =new Aldea();
                ergintone.setNombre("ergintone");
                Aldea bresol =new Aldea();
                bresol.setNombre("bresol");
                ady.add(ergintone);
                ady.add(bresol);
                
            }
            else if(this.nombre=="ergintone"){
                
                Aldea aragaey =new Aldea();
                aragaey.setNombre("aragaey");
                Aldea peregaey =new Aldea();
                peregaey.setNombre("peregaey");
                Aldea bulovoe =new Aldea();
                bulovoe.setNombre("bulovoe");
                ady.add(aragaey);
                ady.add(peregaey);
                ady.add(bulovoe);
            }
            else if(this.nombre=="bresol"){
                
                Aldea aragaey =new Aldea();
                aragaey.setNombre("aragaey");
                Aldea vinizaile =new Aldea();
                vinizaile.setNombre("vinizaile");
                ady.add(vinizaile);
                ady.add(aragaey);
            }
            else if(this.nombre=="peregaey"){
                
                Aldea ergintone =new Aldea();
                ergintone.setNombre("ergintone");
                Aldea vinizaile =new Aldea();
                vinizaile.setNombre("vinizaile");
                ady.add(vinizaile);
                ady.add(ergintone);
            }
            else if(this.nombre=="bulovoe"){
                
                Aldea ergintone =new Aldea();
                ergintone.setNombre("ergintone");
                Aldea icaedur =new Aldea();
                icaedur.setNombre("icaedur");
                ady.add(icaedur);
                ady.add(ergintone);
            }
            else if(this.nombre=="icaedur"){
                
                Aldea bulovoe =new Aldea();
                bulovoe.setNombre("bulovoe");
                Aldea vinizaile =new Aldea();
                vinizaile.setNombre("vinizaile");
                ady.add(vinizaile);
                ady.add(bulovoe);
            }
            else if(this.nombre=="vinizaile"){
                
                Aldea bresol =new Aldea();
                bresol.setNombre("bresol");
                Aldea peregaey =new Aldea();
                peregaey.setNombre("peregaey");
                Aldea icaedur =new Aldea();
                icaedur.setNombre("icaedur");
                Aldea mixocu =new Aldea();
                mixocu.setNombre("mixocu");
                Aldea cabe =new Aldea();
                cabe.setNombre("cabe");
                ady.add(bresol);
                ady.add(peregaey);
                ady.add(icaedur);
                ady.add(mixocu);
                ady.add(cabe);
            }
            else if(this.nombre=="cabe"){
                
                Aldea vinizaile =new Aldea();
                vinizaile.setNombre("vinizaile");
                ady.add(vinizaile);
            }
            else if(this.nombre=="mixocu"){
                
                Aldea vinizaile =new Aldea();
                vinizaile.setNombre("vinizaile");
                Aldea ase =new Aldea();
                ase.setNombre("ase");
                ady.add(ase);
                ady.add(vinizaile);
            }
            else if(this.nombre=="ase"){
                
                Aldea mixocu =new Aldea();
                mixocu.setNombre("mixocu");
                Aldea cenede =new Aldea();
                cenede.setNombre("cenede");
                ady.add(cenede);
                ady.add(mixocu);
            }
            else if(this.nombre=="cenede"){
                
                Aldea ase =new Aldea();
                ase.setNombre("ase");
                ady.add(ase);
            }
            return ady;
        }

}
